package appvideo.logica;
import appvideo.persistencia.Persistencia_Productos;
import java.lang.String;
import java.text.SimpleDateFormat;
import java.util.*;

//creamos la clase Pelicula que hereda de Producto

public class Pelicula extends Producto{
    
    //declaramos las variables propias de pelicula
        
    private String formato;
    private int duracion;
    
    //constructores
    public Pelicula(int codigo, String nombre, Proveedor proveedor,Date fechacompra ,Tarifa tarifa, String genero, String formato, int duracion) {
        super(codigo, nombre, proveedor,fechacompra, tarifa, genero);
        this.formato = formato;
        this.duracion = duracion;
    }

    public Pelicula(int id, int codigo, String nombre, Proveedor proveedor, Date fechacompra, Tarifa tarifa, String genero, String formato, int duracion) {
        super(id, codigo, nombre, proveedor, fechacompra, tarifa, genero);
        this.formato = formato;
        this.duracion = duracion;
    }
    
    public Pelicula(){
    }

    public Pelicula(int id){
        super(id);
    }
    
    //getter and setter
    public int getDuracion() {
        return duracion;
    }

    public void setDuracion(int duracion) {
        this.duracion = duracion;
    }

    public String getFormato() {
        return formato;
    }

    public void setFormato(String formato) {
        this.formato = formato;
    }
    
    //tostring 
    @Override
    public String toString(){
        return super.toString()+"\nTarifa: "+super.getTarifa().getNombre()+"\nPrecio: "+super.getTarifa().getPrecio()+"\nFormato: "+this.getFormato()+"\nDuracion: "+this.getDuracion();
    }  
    
    //Estos son los metodos que hereda Producto (abstractos)
    
    @Override
    public void insertaProducto() {
        Persistencia_Productos.insertaProducto(this);
    }
    @Override
    public void modificaProducto() {
        Persistencia_Productos.modificaProducto(this); 
    }
    @Override
    public List<Producto> visualizarProductos() {
        return Persistencia_Productos.getProductos(this);
    }  
    @Override
    public void bajaProducto() {
       Persistencia_Productos.borraProducto(this);
    }
    @Override
    public Producto buscaProducto(Producto producto,int codigo) {
        Producto p =  Persistencia_Productos.buscaProducto(producto,codigo);
        return p;
    }
    @Override
    public boolean compruebaCodigo(Producto producto,int codigo) {
        return Persistencia_Productos.compruebaCodigo(producto,codigo);
    }   

    
    
}
